/**
 * 
 */
package com.enjoyor.soa.traffic.api.service.dubbo.idcs;

import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

import java.util.List;

/**
 * 过车数据监听
 * @author ly
 *
 */
public interface DubboVehiclePassCallbackService {
	
	/**
	 * 订阅过车数据
	 * @param listenerId 监听ID，不重复ID，可以为IP或者编号，只有一个web层可以不填
	 * @param bayonetIds 卡口编号列表
	 * @param vehiclePlate 号牌号码
	 * @param plateType 号牌类型
	 * @param listener 监听
	 */
	void addVehiclePassListener(String listenerId,List<String> bayonetIds,String vehiclePlate,String plateType, IDCSCallbackListener listener);
	
	/**
	 * 移除订阅
	 * @param listenerId 监听ID，不重复ID，可以为IP或者编号，只有一个web层可以不填
	 * @param bayonetIds 卡口编号列表
	 * @param vehiclePlate 号牌号码
	 * @param plateType 号牌类型
	 * @return 是否移除成功
	 */
	boolean removeVehiclePassListener(String listenerId);

	/**
	 * 订阅过车数据心跳
	 * @param listenerId 监听ID，不重复ID，可以为IP或者编号，只有一个web层可以不填
	 * @return
	 */
	boolean VehiclePassHeartBeat(String listenerId);
	
	/**
	 * 获取配置订阅参数
	 * @param listenerId
	 * @return
	 */
	ResultPojo getVehiclePassListener(String listenerId);
}
